package vista.ventanaTarea;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*; 
import modelo.tareas.Tarea;

/**
 * @author Natalia Stefania 
 */

@SuppressWarnings("serial")
public class MasInformacion extends JPanel {
	
	// Variables  *********************************************************** //
	private JButton botonAceptar; 
	private JFrame frame; 
	private JLabel predecesor, tareasCompuestas, nombreTarea; 
	private JTextField elPredecesor, nameTask;
	private JComboBox tareasQueMeComponen; 
	private Tarea tareaInformacion; 
	
	// Constructor  ******************************************************** //
	public MasInformacion (Tarea tarea){
		frame = new JFrame ("Mas Informacion de la Tarea");
		
		this.setLayout(new GridLayout(4,1));
		
		nombreTarea= new JLabel ("Nombre"); 
		nameTask = new JTextField ();
		
		predecesor = new JLabel ("predecesor");
		elPredecesor = new JTextField (); 
		
		tareasCompuestas = new JLabel ("tareas que me componen");
		tareasQueMeComponen = new JComboBox (); 
		
		botonAceptar = new JButton ("Aceptar"); 
		
		tareaInformacion = tarea; 
		
		this.init (); 
	}
	
	// Metodos  *********************************************************** //
	/**
	 * Inicializa los componentes
	 */
	public void init (){
		this.add(nombreTarea);
		this.add(nameTask);
		
		this.add (predecesor); 
		this.add(elPredecesor);
		
		this.add(tareasCompuestas); 
		this.add(tareasQueMeComponen); 
		
		this.botonAceptar.addActionListener(new BotonAceptarListener());
		
		nameTask.setEnabled(false);
		
		this.add (botonAceptar); 
		
		frame.getContentPane().add(this);
		frame.pack(); 
		frame.setVisible(true);
		
		this.frame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE);
	}
	
	/**
	 * De la tarea se mostrara el nombre de la misma y si tiene tareas compuesta y si tiene alguna tarea predecesor
	 */
	public void informacionDeLaTarea (){
		nameTask.setText(tareaInformacion.getNombre()); 
		if (tareaInformacion.getPredecesor()!=null){
			elPredecesor.setText(tareaInformacion.getPredecesor().getNombre()); 
		}
		if (tareaInformacion.getTareas()!=null){
			for (Tarea t: tareaInformacion.getTareas()){
				tareasQueMeComponen.addItem(t);
			}
		}
	}
	
	/**
	 * La accion de este boton, es cerrar la ventana actual
	 */
	public class BotonAceptarListener implements ActionListener{
		public void actionPerformed(ActionEvent e) {
			frame.dispose();
		}
	}
}
